/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package fiad.gui.events;

import fiad.control.Backend;
import fiad.gui.panels.IWaehleKlasse;
import fiad.gui.panels.ResumablePanel;
import fiad.gui.panels.ZeugnisPanel;
import fiad.model.Klasse;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.util.List;
import javax.swing.JComboBox;
import javax.swing.JOptionPane;

/**
 *
 * @author MJ
 */
public class CbxKlassenSucheListener implements ItemListener {

    private IWaehleKlasse zP;
    private JComboBox cbxKlassensuche;

    public CbxKlassenSucheListener(IWaehleKlasse zP, JComboBox cbxKlassensuche) {
        this.zP = zP;
        this.cbxKlassensuche = cbxKlassensuche;
    }

    private Klasse sucheKlasse(String eingabe) {
        List<Klasse> KlasseListe = Backend.getInstance().getKlassen();
        for (Klasse k : KlasseListe) {

            if (k.toString().equals(eingabe)) {
                return k;
            }
        }
        return null;
    }

    public void itemStateChanged(ItemEvent e) {

        if (e.getStateChange() == ItemEvent.SELECTED) {
            Object eingabe = e.getItem();

            Object k = null;
            if (eingabe instanceof String) {
                if (eingabe.equals("Alle") && zP instanceof ZeugnisPanel) {
                    k = eingabe;
                } else {
                    k = sucheKlasse((String) eingabe);
                }

            } else if (eingabe instanceof Klasse) {
                k = (Klasse) eingabe;
            }

            if (k != null) {
                zP.setGewaehlteKlasse(k);
            } else {
                JOptionPane.showMessageDialog((ResumablePanel)zP, "Diese Klasse scheint nicht zu existieren!", "Gesuchte Klasse nicht gefunden", JOptionPane.INFORMATION_MESSAGE);
            }
        }
    }
}
